As in robots(6), xrobots puts you into a world of evil robots (but in an X window, of course). It's your intellect against the robots, who have numbers on their side. Fortunately for you, these robots have a bad habit of crashing into each other, destroying themselves and temporarily improving your chances of survival.
You have a the following abilities:
You can wait for robots to reach you. Do this by clicking on the button labeled "Wait" below the main playfield or by pressing 'w' while the mouse pointer is within the playfield.
You can use your teleportation device. This defensive weapon is not without risk. This can be invoked by clicking on "Teleport" or by pressing 't'.
You have a "sonic screwdriver" which wipes out any robots within close proximity. This offensive weapon recharges once for each level. This can be invoked by the "Sonic Screwdiver" button or by pressing 's'.
The default keyboard setup is similar to the original robots:
If you don't like 's' for the sonic screwdriver and 't' for teleport you can change this. xrobots is programmed using the X Toolkit and takes advantage of the toolkit's resources and translation schemes. The following are resources that are used by xrobots and should probably be set in your .Xdefaults file.
xrobots.autoteleportalways
xrobots.diewaiting
xrobots.scorefile
xrobots.showmovement
xrobots.spiffy
Additionally, all the key bindings can be changed. Here's a sample set of translation bindings that you can modify to your preferences:
<Btn1Up>: move() \n\ :<Key>u: move(right, up) \n\ :<Key>l: move(right) \n\ :<Key>n: move(right, down) \n\ :<Key>y: move(left, up) \n\ :<Key>h: move(left) \n\ :<Key>b: move(left, down) \n\ :<Key>k: move(up) \n\ :<Key>j: move(down) \n\ :<Key>U: jump(right, up) \n\ :<Key>L: jump(right) \n\ :<Key>N: jump(right, down) \n\ :<Key>Y: jump(left, up) \n\ :<Key>H: jump(left) \n\ :<Key>B: jump(left, down) \n\ :<Key>K: jump(up) \n\ :<Key>J: jump(down) \n\ <Key>.: move(nowhere) \n\ <Key>\\ : move(nowhere) \n\ <Btn2Up>: go_here() \n\ <Btn3Up>: wait() \n\ <Key>s: sonic() \n\ <Key>t: teleport() \n\ <Key>w: wait() \n\ <Key>z: new_game() \n\ Ctrl<Key>c: quit()
Here's what each action that can be referenced via translations is and what it does:
The move() action with no parameters uses the relative position of the mouse pointer to determine the direction in which to go. Otherwise, a combination of "left", "right", "up", "down", and "nowhere" will direct the direction. If "nowhere" is used, the player's icon will remain still while the robots take their turn.
The jump() action does the same thing as move(), except it causes the player to move in a direction until it can't go any farther. This is used in the default translations when a key is shifted.
The go_here() action directs the player's icon to the location where the mouse button was released. Of course, the robots will chase you, and if doom is impending, go_here() will stop.
The wait() action causes the robots to move until they are breathing right down your neck.
The sonic() action invokes the sonic screwdriver.
The teleport() action invokes the teleportation device.
The new_game() and quit() actions do what you would expect them to.
In addition to the normal XToolkit options, xrobots accepts command line options for the following resources: spiffy, autoteleport, autoteleportalways, showmovement, diewaiting, and scorefile. These correspond to the resources as described above.
Each robot that is wasted is worth ten points. Additionally, bonuses are awarded for each teleportation, and for not using the sonic screwdriver. The name for the high score list comes from the USER environment variable.
/usr/games/lib/xrobots_scores -- the score file
There are many versions of robots floating around. So many that it would be difficult to say who the original author is. This version was written from scratch by Brian Warkentine (brianw@Sun.COM).